#ifndef __WIZ_DATATYPE_PAIR_HPP__SHANHAOBO_19800429__
#define __WIZ_DATATYPE_PAIR_HPP__SHANHAOBO_19800429__

#include "../../Base/WizBase.hpp"

namespace Wiz
{
    namespace Pair
    {
        template<class FirstT, class LastT = FirstT>
        class Type
        {
            WIZ_DECLARE_CLASS_THIS(Type);
        public:
            Type()
            {}
            Type(const FirstT& Frst, const LastT& LST) : m_First(Frst), m_Last(LST)
            {}
            virtual ~Type()
            {
            }
        public:
            FirstT& First()
            {
                return m_First;
            }
            const FirstT& First() const
            {
                return m_First;
            }
            LastT& Last()
            {
                return m_Last;
            }
            const LastT& Last() const
            {
                return m_Last;
            }
        protected:
            FirstT									m_First;
            LastT									m_Last;
        };
    } /// end of namespace Pair
} /// end of namespace Wiz

#endif /*__WIZ_DATATYPE_PAIR_HPP__SHANHAOBO_19800429__*/
